This invention relates to a video display system having a graphical cursor. More specifically, the invention is concerned with the problem of superimposing a graphical cursor onto a raster-scanned video display, e.g. for a high-resolution interactive graphics workstation.
In a typical high-resolution graphics display system, the display image is held in a store in the form of a bit map, i.e. each picture element (pixel) of the display is defined by the state of a single bit in the store (in the case of a monochrome display) or by the states of several bits (in the case of a grey-scale or colour display). In operation, data is read out of the store in synchronism with the raster scan of the display and converted to serial form to produce a video signal for driving the display.
Such a display system normally has a pointing device in the form of a "mouse" or similar transducer, for pointing to, and drawing on the display. The physical movements of the mouse are translated into x-y coordinates defining the position of a graphical cursor within the display image. The cursor normally consists of a rectangular area within the displayed image in which the stored image is modified, according to a specified algorithm, by the contents of a cursor bit-map also held within the store. The cursor may, for example, consist of 64.times.64 pixels.
In a conventional system of this kind, the whole of the cursor data is read from the store into a fast static memory during the frame-blanking interval of the display, when the store video data port is otherwise unoccupied. The cursor data is then read out of the fast memory, converted to serial form, and aligned and combined with the serialised image data in real-time to produce an output video signal representing the image with the cursor superimposed at the required position.
Problems with this method are as follows:
1. To combine image and cursor data streams after serialisation requires careful timing control of the serialising shift registers, with the control logic operating at pixel clock rate. As pixel clock rates rise into the VHF region (100 to l50 MHz is now not uncommon), this logic becomes increasingly difficult to implement.
2. A relatively large, fast memory is required to store the whole of the cursor. Whilst such memories are probably not a major overhead in an M.S.I. solution, they do not lend themselves to gate array solutions since they cannot be included in the array. This leads to the need for extra components in order to implement the memory and to increased I/O complexity for the gate array. It is desirable to be able to do the whole job in one gate array.